import re

from qturboframe.lib.report.log import logger


def deal_form_data(input_data_key, input_data_value):
    '''
    对表单的输入数据根据#字段进行检查分类

    :Args:
     - input_data_key: 输入数据的key值
     - input_data_value: 输入数据的value值

    :Returns:
     - key: 去掉key值中的#后部分
     - value: 去掉value值中的#后部分
     - flag: 根据#后部分返回的操作标签，默认返回assign填充
     - label_seq: 根据#后部分返回的元素顺序下标，默认返回1
    '''
    flag = ''
    label_seq = 1
    key_suffix = ''
    value_suffix = ''
    keylist = input_data_key.split('#')
    valuelist = input_data_value.split('#')
    key = keylist[0]
    value = valuelist[0].split(',')
    try:
        if len(keylist) == 2:
            key_suffix = keylist[1]
            # 获取元素序号
            if re.search('\d+', key_suffix):
                label_seq = int(re.search('\d+', key_suffix).group())
        if len(valuelist) == 2:
            value_suffix = valuelist[1]
        flag = value_suffix
    except Exception as msg:
        logger.warn('输入数据格式不正确：' + str(msg))
    return key, value, flag, label_seq